B2BMagicLinks

interface B2BMagicLinks

The B2BMagicLinks interface provides methods for sending and authenticating users with Email Magic Links.

Call the StytchB2BClient.magicLinks.email.loginOrSignup() method to request an email magic link for a user to log in or create an account, based on if the email is associated with a user already. A new or pending user will receive a signup magic link. An active user will receive a login magic link.

If you have connected your deeplink handler with StytchB2BClient, the resulting magic link should be detected by your application and automatically authenticated (via the StytchB2BClient.handle() method). See the instructions in the top-level README for information on handling deeplink intents.

If you are not using our deeplink handler, you must parse out the token from the deeplink yourself and pass it to the StytchB2BClient.magicLinks.authenticate() method.

Call the StytchB2BClient.magicLinks.discovery.send() method to send an invite email to a new Member to join an Organization.

Call the StytchB2BClient.magicLinks.discovery.authenticate() method to authenticate a Member with a Magic Link.

Types

Link copied to clipboard
data class AuthParameters(val token: String, val sessionDurationMinutes: UInt = Constants.DEFAULT_SESSION_TIME_MINUTES)

Data class used for wrapping parameters used with MagicLinks authentication

Link copied to clipboard
data class DiscoveryAuthenticateParameters(val token: String)

A data class used for wrapping parameters used for authenticating a discovery magic link

Link copied to clipboard
interface EmailMagicLinks

Provides all possible ways to call EmailMagicLinks endpoints

Functions

Link copied to clipboard
abstract suspend fun authenticate(parameters: B2BMagicLinks.AuthParameters): AuthResponse
abstract fun authenticate(parameters: B2BMagicLinks.AuthParameters, callback: (AuthResponse) -> Unit)

Authenticate a Member with a Magic Link. This endpoint requires a Magic Link token that is not expired or previously used. Provide a value for session_duration_minutes to receive a Session. If the Member’s status is pending, they will be updated to active.

Link copied to clipboard
abstract suspend fun discoveryAuthenticate(parameters: B2BMagicLinks.DiscoveryAuthenticateParameters): DiscoveryEMLAuthResponse
abstract fun discoveryAuthenticate(parameters: B2BMagicLinks.DiscoveryAuthenticateParameters, callback: (DiscoveryEMLAuthResponse) -> Unit)

Authenticate a Member with a Discovery Magic Link. This endpoint requires a Magic Link token that is not expired or previously used.

Properties

Link copied to clipboard
abstract val email: B2BMagicLinks.EmailMagicLinks

Public variable that exposes an instance of EmailMagicLinks